package top.bug.blog.entity.vo.article;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import top.bug.blog.common.BasePO;
import top.bug.blog.entity.po.Category;
import top.bug.blog.entity.po.Tag;
import top.bug.blog.entity.vo.user.SafeUserVO;

import java.util.List;

/**
 * @author <a href="https://github.com/jiusi66">九思.</a>
 * @email 10837907@qq.com
 * @from <a href="https://www.52bug.top">递归茶馆-www.52bug.top</a>
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("文章信息视图")
public class ArticleVO extends BasePO {

    @ApiModelProperty("文章标题")
    private String title;

    @ApiModelProperty("文章封面")
    private String picUrl;

    @ApiModelProperty("封面风格")
    private String coverStyle;

    @ApiModelProperty("文章摘要")
    private String description;

    @ApiModelProperty("文章类型：公开/私密/加密")
    private String type;

    @ApiModelProperty("状态-草稿/已发布")
    private String status;

    @ApiModelProperty("排序值")
    private Integer orderNum;

    @ApiModelProperty("浏览量")
    private Long viewsNum;

    @ApiModelProperty("评论数")
    private Long commentsNum;

    @ApiModelProperty("点赞数")
    private Long likeNum;

    @ApiModelProperty("是否推荐")
    private Long isRecommend;

    @ApiModelProperty("文章内容")
    private String content;

    @ApiModelProperty("标签集合")
    private List<Tag> tags;

    @ApiModelProperty("作者")
    private SafeUserVO author;

    @ApiModelProperty("分类")
    private Category category;

    @ApiModelProperty("是否点赞")
    private Boolean like;
}